package shiyan4;
import java.io.FileWriter;//FileWrite用于写文件
import java.io.BufferedWriter;//导入类，可使数据写入缓冲区
import java.io.IOException;//导入输入输出异常类
import java.io.File;//导入类File,用于创建文件
import java.util.Scanner;//导入Scanner类

public class Test5 {
    public static void main(String[] args) throws IOException {
        try {
            File f = new File("E:/java/ckw.txt");
            if (f.createNewFile()) { // 创建一个.txt文件
                System.out.println(".txt文件创建成功");
            } else {
                System.out.println("该文件ckw.txt已经存在！");
            }
        } catch (IOException e) {// 把异常放入e中，捕获异常对异常做处理
            e.printStackTrace();// 打印异常信息
        }

        FileWriter f1 = new FileWriter("E:/java/ckw.txt");
        // 使用缓冲区的方法把数据写到缓冲区
        BufferedWriter b = new BufferedWriter(f1);
        // 开一个键盘录入的口
        Scanner s = new Scanner(System.in);
        System.out.print("请输入姓名：");
        String name = s.next();// 把键盘输入的信息赋给变量name
        b.write("姓名：");// 向文件中写入
        b.write(name);// 向文件中写入姓名
        b.newLine();// 换行
        System.out.print("请输入学号：");

        // 使用try-catch语句，尝试执行，但是可能会出现异常的代码
        try {
            String no = s.next();// 把键盘输入的信息赋给变量no
            b.write("学号：");// 向文件中写入
            int length = no.length();// 获取学号的长度
            if (length == 10) {// 判断学号长度是否等于10
                b.write(no);// 向文件中写入学号
            } else {
                // 把int类型转化为字符串类型
                String len = String.valueOf(length);
                // 判断长度是否等于10，等于10则结束循环
                while (!len.equals("10")) {
                    System.out.println("位数错误：请输入10位的学号！");
                    System.out.print("请重新输入学号：");
                    String no1 = s.next();// 把键盘重新输入的信息赋给变量no1
                    int length1 = no1.length();// 获取输入学号的长度
                    if (length1 != 10) {// 判断长度是否等于11
                    } else {
                        b.write(no1);// 向文件中写入学号
                        break;
                    }
                }
            }
            // 把异常放入e中，捕获异常对异常做处理
        } catch (IOException e) {
            e.printStackTrace();// 打印异常信息
        }
        b.newLine();// 换行
		/**
		System.out.print("请输入年龄：");
		String age = s.next();// 把键盘输入的信息赋给变量name
		b.write("年龄：");// 向文件中写入
		b.write(age);// 向文件中写入姓名
		*/
        b.flush();// 使用缓冲区的方法，将数据刷新到目的文件中去
        b.close();// 关闭缓冲区，同时关闭f流对象
        System.out.println("写入文本信息成功！");
    }
}

